package com.baijiaoxi.common.model.base.service.interceptor;

import com.baijiaoxi.common.model.base.model.CoreModel;

public interface SaveInterceptor<E extends CoreModel> {
    /**
     * 插入前的操作
     */
    default void beforeInsert(E entity) {
    }

    /**
     * 插入后的操作
     */
    default void afterInsert(E entity) {
    }

    /**
     * 插入前的操作
     */
    default void beforeUpdate(E entity) {
    }

    /**
     * 插入后的操作
     */
    default void afterUpdate(E entity) {
    }

    /**
     * 自动保存前的操作
     */
    default void beforeAutoSave(E entity) {
    }

    /**
     * 自动保存后的操作
     */
    default void afterAutoSave(E entity) {
    }

    /**
     * 保存后的操作
     */
    default void beforeSave(E entity) {
    }

    /**
     * 保存前的操作
     */
    default void afterSave(E entity) {
    }

}
